//
//  AMPLoginViewController.swift
//  LivingHelper
//
//  Created by Ampaw on 2017/9/12.
//  Copyright © 2017年 Ampaw. All rights reserved.
//

import UIKit

class AMPLoginViewController: AMPBaseViewController {

    // MARK: - 生命周期 方法
    override func viewDidLoad() {
        super.viewDidLoad()
        addConfig()
        
        // 准备UI
        setUpUI()
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        self.title = "登录"
    }
    
    override func backAction() {
        self.dismiss(animated: true, completion: nil)
    }
    
    // 添加配置
    func addConfig(){
        // 指定边缘要延伸的方向，它的默认值很自然地是UIRectEdgeAll，四周边缘均延伸，就是说，如果即使视图中上有navigationBar，下有tabBar，那么视图仍会延伸覆盖到四周的区域
        self.edgesForExtendedLayout = UIRectEdge()
        // 默认值为NO(看有些文章说默认值是YES,不知道是不是XCode7之后苹果修改了这个值，以前到没怎么在意),这个属性在状态栏不透明的状态下才生效。也就是说，一般使用这个属性应该这样使用：
        // YES：视图延伸不考虑透明的Bars(这里包含导航栏和状态栏)  NO：意思就是空出导航栏位置
        self.extendedLayoutIncludesOpaqueBars = false
        // 隐藏状态栏的功能,false 为不隐藏
        self.modalPresentationCapturesStatusBarAppearance = false
        // 当 automaticallyAdjustsScrollViewInsets 为 NO 时，tableview 是从屏幕的最上边开始，也就是被导航栏 & 状态栏覆盖; 当 automaticallyAdjustsScrollViewInsets 为 YES 时，也是默认行为,表现就比较正常
        self.automaticallyAdjustsScrollViewInsets = true
    }
    
    // MARK: - 准备UI
    private func setUpUI() {
        self.loginView.loginViewDelegate = self
        self.view.addSubview(self.loginView)
        
        unowned let WS = self
        self.loginView.snp.makeConstraints { (make) -> Void in
            make.edges.equalTo(WS.view)
        }
    }
    
    // MARK: - 懒加载
    lazy var loginView: AMPLoginView = {
        let loginView = AMPLoginView()
        
        return loginView
    }()
}

/// 扩展 AMPLoginViewController 实现 协议
extension AMPLoginViewController: AMPLoginViewDelegate {
    func didLoginClick() {
        let passport = self.loginView.passportTextField.text ?? ""
        let password = self.loginView.passwordTextField.text ?? ""
        print("登录账号 \(passport)")
        print("登录密码 \(password)")
    }
    
    func didRegisterClick() {
        print("注册")
        let registerVC = AMPRegisterViewController()
        self.navigationController?.pushViewController(registerVC, animated: true)
    }
    
    func didForgetPwdCilck() {
        print("忘记密码")
        let forgetPwdVC = AMPForgetPwdViewController()
        self.navigationController?.pushViewController(forgetPwdVC, animated: true)
    }
    
    func didOtherQQLoginClick() {
        print("QQ 登陆")
    }
    
    func didOtherWeiXinLoginCilck() {
        print("微信 登陆")
    }
    
    func didOtherWeiBoLoginClick() {
        print("微博 登陆")
    }
}
